package com.yswy.common.enums;

/**
 * 
 * @ClassName: IsEnum
 * @Description: 是否枚举
 * @author: 周林
 * @date: 2020年3月26日下午3:01:27
 *
 */
public enum IsUsedEnum {

    USED(0,"未使用"),
    NO_USED(1,"已使用"),
    EXPIRE(2,"已过期");

    IsUsedEnum(Integer code, String name) {
        this.code = code;
        this.name = name;
    }

    /** 代码值 */
    private Integer code;
    /** 显示名称 */
    private String name;

    /**
     * 获取代码值
     * @return
     */
    public Integer getCode() {
        return code;
    }

    /**
     * 获取显示名称
     * @return
     */
    public String getName() {
        return name;
    }

    /**
     * 判断是否是当前枚举
     * @param isEnum
     * @return
     */
    public boolean equals(IsUsedEnum isEnum){
        if (isEnum == null){
            return false;
        }
        return this.code.equals(isEnum.code);
    }

    /**
     * 通过code判断是否和当前枚举相等
     * @param code
     * @return
     */
    public boolean equals(Integer code){
        return this.code.equals(code);
    }

    /**
     * 通过code获取文档类型
     * @param code 代码值
     * @return
     */
    public static IsUsedEnum getInstance(Object code){
        for (IsUsedEnum isEnum : IsUsedEnum.values()) {
            if (isEnum.code.equals(code)){
                return isEnum;
            }
        }
        return null;
    }
}
